1. Field of the Invention
The present invention relates to a software component library in which a plurality of software components are stored, and more particularly, to a software component library management system used to manage a software component library, a method of the same, and a software component library management program.
2. Description of the Related Art
In the state of the art, a software component library is well known as a system, which is adapted to effectively use a systematic integration of software resources developed by specific business entities. The software component library contains a plurality of software applications that serve as components (referred to as “software component(s)” or simply as “component(s)” hereinafter). The “software component” herein is conceptually not limited to a software application that functions as a “component” to execute a part of process, as the term usually means, but covers a “complete product” that implements the entire process.
Also herein, the software component library is a component database for storage of software components themselves and documents containing their specifications and users' manuals; and a software component library management system is used as a tool to manage the components to provide various services for users who utilize the components and/or manage them.
Specifically, the component utilization user can use the software component library management system to retrieve and pickup required software components from the software component library. The component management user can use the software component library management system for various managements such as registration and deletion of the software components in and from the software component library.
The software components stored in the software component library, even once stored therein, often needs to be updated to cope with malfunctions and varied operation environments. For that purpose, usually, even after a certain software component is updated, the component of the previous version is left in the software component library without change while the component of the renovated version is registered as a new software component.
Many of the software components in the software component library can be used in combination with one another. For instance, if a software component and another software component using the former one exist, there may be a relation that the latter is never used without using the former. Such a relation is especially significant in reusing software in object-oriented programming. For example, a framework and a custom component working on the framework give rise to a relation that the custom component uses the framework. The framework and the custom component are software entities, each of which can be a component of more comprehensive entities. When two of classes (or two of class groups) respectively related to “utilization relationship” and “aggregation relationship” are used as separate components from each other in an unified modeling language (UML) in the field of the object oriented programming, a dependent relation as mentioned above is found.
In this specification, in conjunction with the aforementioned dependent relation, a relation where a certain software component uses others is termed “slave relation” while a software which the certain software component uses is termed “slave component.” On the other hand, a reverse relation to the above where a certain software component is used is termed as “master relation” while a software component by which the certain software component is used is termed “master component.” These relations (slave and master) are comprehensible if contemplated in a situation where an application software and an operating system are correlated; that is, the application software uses the operating system like a slave while the operating system is supervised by all master application software programs running in upper levels of the system hierarchy. In general, a single software component is related to a plurality of slave components or a plurality of master components.
In the above-mentioned prior art software component library management system, however, since there is no feature of explicitly supporting the relations, i.e., master to slave and vice versa, a component utilization user and a component management user must study a document, such as a specification and a user's manual of an individual software component, and learn additional software components as well, and must still retrieve those additional software components.
Also, in the aforementioned prior art software component library management system, two software components mutually in master to slave relation or vice versa would usually be updated independent of each other; and there arises a problem that it is difficult to learn if operations among varied versions of the software components have been confirmed.